#pragma once

#include "shared\shared.h"
#include "shape.h"

#include <map>

namespace vgl{
class ShapeManager{

private:

	//this are all shape templates in 100*100 coordinate
	static std::map<shape_type_t,stencil_t *> m_stencils;

	static ShapeManager *self;

	static void init_gdiplus();
	static void close_gdiplus();
public:
	

	ShapeManager();
	~ShapeManager();

	static bool register_stencil(shape_type_t t,stencil_t *p);
	static stencil_t * get_stencil(shape_type_t  t);

	

	static void init_all();
	
	static void init_rectangle_stencil();
	static void init_annotation1_stencil();
	

	static void close();

};
};
